package cn.epsilon3.configBean;

import cn.epsilon3.annotation.E3Config;
import cn.epsilon3.constant.ClassTypeEnum;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 腾讯云SES平台 配置注入
 *
 * @author epsilon3
 * @date 2024-01-17
 */
@Data
@Component
@ConfigurationProperties(
        prefix = "epsilon3.config.platform.tencent.ses"
)
public class InitializingTencentSesPlatformConfig {

    /**
     * 腾讯云SES服务开关
     */
    @E3Config(suffixName = "enable",
            defaultValue = "false",
            type = ClassTypeEnum.BOOLEAN,
            comment = "腾讯云SES服务开关")
    private Boolean enable;

    /**
     * 腾讯云SES secretId
     */
    @E3Config(suffixName = "secretId",
            defaultValue = "your secretId",
            type = ClassTypeEnum.STRING,
            comment = "腾讯云SES secretId")
    private String secretId;

    /**
     * 腾讯云SES secretKey
     */
    @E3Config(suffixName = "secretKey",
            defaultValue = "your secretKey",
            type = ClassTypeEnum.STRING,
            comment = "腾讯云SES secretKey")
    private String secretKey;

    /**
     * 腾讯云SES发件人邮箱地址
     */
    @E3Config(suffixName = "fromEmailAddress",
            defaultValue = "",
            type = ClassTypeEnum.STRING,
            comment = "腾讯云SES发件人邮箱地址")
    private String fromEmailAddress;

    /**
     * 腾讯云SES回复邮件地址 非必填
     */
    @E3Config(suffixName = "replyToAddresses",
            defaultValue = "",
            type = ClassTypeEnum.STRING,
            comment = "腾讯云SES回复邮件地址 非必填")
    private String replyToAddresses ;

    /**
     * 腾讯云SES region
     */
    @E3Config(suffixName = "region",
            defaultValue = "ap-hongkong",
            type = ClassTypeEnum.STRING,
            comment = "腾讯云SES资源地域，详见官方文档")
    private String region;

    public InitializingTencentSesPlatformConfig() {

    }
}
